package com.mask.im.business.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mask.im.business.common.model.PageResult;
import com.mask.im.business.common.model.RestResponse;
import com.mask.im.business.model.entity.UserInfo;
import com.mask.im.business.model.dto.*;
import com.mask.im.business.model.vo.*;

public interface UserInfoService extends IService<UserInfo> {
	RestResponse<?> getUserInfo();

	RestResponse<PersonalDTO> saveUserInfo(PersonalDTO personalDTO);

	RestResponse<String> updateEmailAndPhoneView(Integer id,String type);

	RestResponse<Boolean> userOnlineStatus(Integer userInfo);

	RestResponse<PostcardDTO> getByIdPostcardUser(Long userInfoId);

	void updateUserRole(UserRoleVO userRoleVO);

	void updateUserDisable(UserDisableVO userDisableVO);

	PageResult<UserOnlineDTO> listOnlineUsers(ConditionVO conditionVO);

	void removeOnlineUser(Integer userInfoId);

	UserInfoDTO getUserInfoById(Integer id);

	void updateUserInfo(UserInfoVO userInfoVO);

	void removeAllOnlineUser(String reason);
}
